// pages/Users/BindPhone/BindPhone.js
//获取应用实例
const app = getApp();
import { updateUserPhone } from '../../../api/user';
import { getCode } from '../../../api/login';
import { isNumberOr_Letter } from '../../../utils/util';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    shareTitle: app.globalData.global.shareTitle,
    phone: '', // 新手机号
    code: '', // 验证码
    num: 60,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    let userId = wx.getStorageSync('userId')
    return {
      title: this.data.shareTitle,
      path: '/pages/Welcome/Welcome?scene='+userId,
    }
  },
  // 获取验证码
  getCode(){
    let _this = this;
    if(_this.data.num != 60){
      return;
    }
    if(_this.data.phone == '' || _this.data.phone.length != 11 || !isNumberOr_Letter(_this.data.phone)){
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none',
      })
      return;
    }
    _this.setData({
      num: _this.data.num - 1,
    })
    var timer = setInterval(() => {
      _this.setData({
        num: _this.data.num - 1,
      })
      if (_this.data.num == 0) {
        clearInterval(timer)
        _this.setData({
          num: 60,
        })
      }
    }, 1000)
    getCode(_this.data.phone)
    .then(res => {
      if(res.success){
        wx.showToast({
          title: res.data,
          icon: 'none',
        })
      }else{
        wx.showToast({
          title: res.errMessage,
          icon: 'none',
        })
      }
    })
  },
  // 更改手机号
  submit(){
    let _this = this;
    if(_this.data.phone == '' || _this.data.phone.length != 11 || !isNumberOr_Letter(_this.data.phone)){
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none',
      })
      return;
    }
    if(_this.data.code == ''){
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none',
      })
      return;
    }
    updateUserPhone({newPhone: _this.data.phone,authCode: _this.data.code})
    .then(res => {
      if(res.success){
        wx.showToast({
          title: '手机号绑定成功！',
          icon: 'none',
        })
        wx.setStorageSync('hasUpdateUser', '1')
        wx.setStorageSync('phone', _this.data.phone)
        const eventChannel = _this.getOpenerEventChannel()
        eventChannel.emit('updateUser',);
        wx.navigateBack({
          delta: 1,
        })
      }else{
        wx.showToast({
          title: res.errMessage,
          icon: 'none',
        })
      }
    })
  },
})